package com.bolong.gmgc.bean.record;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CarRecordQuery implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public CarRecordQuery() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCarNumberIsNull() {
            addCriterion("car_number is null");
            return (Criteria) this;
        }

        public Criteria andCarNumberIsNotNull() {
            addCriterion("car_number is not null");
            return (Criteria) this;
        }

        public Criteria andCarNumberEqualTo(String value) {
            addCriterion("car_number =", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotEqualTo(String value) {
            addCriterion("car_number <>", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberGreaterThan(String value) {
            addCriterion("car_number >", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberGreaterThanOrEqualTo(String value) {
            addCriterion("car_number >=", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberLessThan(String value) {
            addCriterion("car_number <", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberLessThanOrEqualTo(String value) {
            addCriterion("car_number <=", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberLike(String value) {
            addCriterion("car_number like", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotLike(String value) {
            addCriterion("car_number not like", value, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberIn(List<String> values) {
            addCriterion("car_number in", values, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotIn(List<String> values) {
            addCriterion("car_number not in", values, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberBetween(String value1, String value2) {
            addCriterion("car_number between", value1, value2, "carNumber");
            return (Criteria) this;
        }

        public Criteria andCarNumberNotBetween(String value1, String value2) {
            addCriterion("car_number not between", value1, value2, "carNumber");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeIsNull() {
            addCriterion("record_intime is null");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeIsNotNull() {
            addCriterion("record_intime is not null");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeEqualTo(Date value) {
            addCriterion("record_intime =", value, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeNotEqualTo(Date value) {
            addCriterion("record_intime <>", value, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeGreaterThan(Date value) {
            addCriterion("record_intime >", value, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeGreaterThanOrEqualTo(Date value) {
            addCriterion("record_intime >=", value, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeLessThan(Date value) {
            addCriterion("record_intime <", value, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeLessThanOrEqualTo(Date value) {
            addCriterion("record_intime <=", value, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeIn(List<Date> values) {
            addCriterion("record_intime in", values, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeNotIn(List<Date> values) {
            addCriterion("record_intime not in", values, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeBetween(Date value1, Date value2) {
            addCriterion("record_intime between", value1, value2, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordIntimeNotBetween(Date value1, Date value2) {
            addCriterion("record_intime not between", value1, value2, "recordIntime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeIsNull() {
            addCriterion("record_outtime is null");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeIsNotNull() {
            addCriterion("record_outtime is not null");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeEqualTo(Date value) {
            addCriterion("record_outtime =", value, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeNotEqualTo(Date value) {
            addCriterion("record_outtime <>", value, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeGreaterThan(Date value) {
            addCriterion("record_outtime >", value, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeGreaterThanOrEqualTo(Date value) {
            addCriterion("record_outtime >=", value, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeLessThan(Date value) {
            addCriterion("record_outtime <", value, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeLessThanOrEqualTo(Date value) {
            addCriterion("record_outtime <=", value, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeIn(List<Date> values) {
            addCriterion("record_outtime in", values, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeNotIn(List<Date> values) {
            addCriterion("record_outtime not in", values, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeBetween(Date value1, Date value2) {
            addCriterion("record_outtime between", value1, value2, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordOuttimeNotBetween(Date value1, Date value2) {
            addCriterion("record_outtime not between", value1, value2, "recordOuttime");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthIsNull() {
            addCriterion("record_timelength is null");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthIsNotNull() {
            addCriterion("record_timelength is not null");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthEqualTo(Integer value) {
            addCriterion("record_timelength =", value, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthNotEqualTo(Integer value) {
            addCriterion("record_timelength <>", value, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthGreaterThan(Integer value) {
            addCriterion("record_timelength >", value, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthGreaterThanOrEqualTo(Integer value) {
            addCriterion("record_timelength >=", value, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthLessThan(Integer value) {
            addCriterion("record_timelength <", value, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthLessThanOrEqualTo(Integer value) {
            addCriterion("record_timelength <=", value, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthIn(List<Integer> values) {
            addCriterion("record_timelength in", values, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthNotIn(List<Integer> values) {
            addCriterion("record_timelength not in", values, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthBetween(Integer value1, Integer value2) {
            addCriterion("record_timelength between", value1, value2, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTimelengthNotBetween(Integer value1, Integer value2) {
            addCriterion("record_timelength not between", value1, value2, "recordTimelength");
            return (Criteria) this;
        }

        public Criteria andRecordTypeIsNull() {
            addCriterion("record_type is null");
            return (Criteria) this;
        }

        public Criteria andRecordTypeIsNotNull() {
            addCriterion("record_type is not null");
            return (Criteria) this;
        }

        public Criteria andRecordTypeEqualTo(Integer value) {
            addCriterion("record_type =", value, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeNotEqualTo(Integer value) {
            addCriterion("record_type <>", value, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeGreaterThan(Integer value) {
            addCriterion("record_type >", value, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("record_type >=", value, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeLessThan(Integer value) {
            addCriterion("record_type <", value, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeLessThanOrEqualTo(Integer value) {
            addCriterion("record_type <=", value, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeIn(List<Integer> values) {
            addCriterion("record_type in", values, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeNotIn(List<Integer> values) {
            addCriterion("record_type not in", values, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeBetween(Integer value1, Integer value2) {
            addCriterion("record_type between", value1, value2, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("record_type not between", value1, value2, "recordType");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyIsNull() {
            addCriterion("record_paymoney is null");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyIsNotNull() {
            addCriterion("record_paymoney is not null");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyEqualTo(Double value) {
            addCriterion("record_paymoney =", value, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyNotEqualTo(Double value) {
            addCriterion("record_paymoney <>", value, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyGreaterThan(Double value) {
            addCriterion("record_paymoney >", value, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("record_paymoney >=", value, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyLessThan(Double value) {
            addCriterion("record_paymoney <", value, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyLessThanOrEqualTo(Double value) {
            addCriterion("record_paymoney <=", value, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyIn(List<Double> values) {
            addCriterion("record_paymoney in", values, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyNotIn(List<Double> values) {
            addCriterion("record_paymoney not in", values, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyBetween(Double value1, Double value2) {
            addCriterion("record_paymoney between", value1, value2, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRecordPaymoneyNotBetween(Double value1, Double value2) {
            addCriterion("record_paymoney not between", value1, value2, "recordPaymoney");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeIsNull() {
            addCriterion("redord_paytype is null");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeIsNotNull() {
            addCriterion("redord_paytype is not null");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeEqualTo(Integer value) {
            addCriterion("redord_paytype =", value, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeNotEqualTo(Integer value) {
            addCriterion("redord_paytype <>", value, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeGreaterThan(Integer value) {
            addCriterion("redord_paytype >", value, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("redord_paytype >=", value, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeLessThan(Integer value) {
            addCriterion("redord_paytype <", value, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeLessThanOrEqualTo(Integer value) {
            addCriterion("redord_paytype <=", value, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeIn(List<Integer> values) {
            addCriterion("redord_paytype in", values, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeNotIn(List<Integer> values) {
            addCriterion("redord_paytype not in", values, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeBetween(Integer value1, Integer value2) {
            addCriterion("redord_paytype between", value1, value2, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andRedordPaytypeNotBetween(Integer value1, Integer value2) {
            addCriterion("redord_paytype not between", value1, value2, "redordPaytype");
            return (Criteria) this;
        }

        public Criteria andParkIdIsNull() {
            addCriterion("park_id is null");
            return (Criteria) this;
        }

        public Criteria andParkIdIsNotNull() {
            addCriterion("park_id is not null");
            return (Criteria) this;
        }

        public Criteria andParkIdEqualTo(String value) {
            addCriterion("park_id =", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotEqualTo(String value) {
            addCriterion("park_id <>", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdGreaterThan(String value) {
            addCriterion("park_id >", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdGreaterThanOrEqualTo(String value) {
            addCriterion("park_id >=", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdLessThan(String value) {
            addCriterion("park_id <", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdLessThanOrEqualTo(String value) {
            addCriterion("park_id <=", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdLike(String value) {
            addCriterion("park_id like", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotLike(String value) {
            addCriterion("park_id not like", value, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdIn(List<String> values) {
            addCriterion("park_id in", values, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotIn(List<String> values) {
            addCriterion("park_id not in", values, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdBetween(String value1, String value2) {
            addCriterion("park_id between", value1, value2, "parkId");
            return (Criteria) this;
        }

        public Criteria andParkIdNotBetween(String value1, String value2) {
            addCriterion("park_id not between", value1, value2, "parkId");
            return (Criteria) this;
        }

        public Criteria andRecordStatusIsNull() {
            addCriterion("record_status is null");
            return (Criteria) this;
        }

        public Criteria andRecordStatusIsNotNull() {
            addCriterion("record_status is not null");
            return (Criteria) this;
        }

        public Criteria andRecordStatusEqualTo(Integer value) {
            addCriterion("record_status =", value, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusNotEqualTo(Integer value) {
            addCriterion("record_status <>", value, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusGreaterThan(Integer value) {
            addCriterion("record_status >", value, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("record_status >=", value, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusLessThan(Integer value) {
            addCriterion("record_status <", value, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusLessThanOrEqualTo(Integer value) {
            addCriterion("record_status <=", value, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusIn(List<Integer> values) {
            addCriterion("record_status in", values, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusNotIn(List<Integer> values) {
            addCriterion("record_status not in", values, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusBetween(Integer value1, Integer value2) {
            addCriterion("record_status between", value1, value2, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andRecordStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("record_status not between", value1, value2, "recordStatus");
            return (Criteria) this;
        }

        public Criteria andAutoPayIsNull() {
            addCriterion("auto_pay is null");
            return (Criteria) this;
        }

        public Criteria andAutoPayIsNotNull() {
            addCriterion("auto_pay is not null");
            return (Criteria) this;
        }

        public Criteria andAutoPayEqualTo(Boolean value) {
            addCriterion("auto_pay =", value, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayNotEqualTo(Boolean value) {
            addCriterion("auto_pay <>", value, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayGreaterThan(Boolean value) {
            addCriterion("auto_pay >", value, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayGreaterThanOrEqualTo(Boolean value) {
            addCriterion("auto_pay >=", value, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayLessThan(Boolean value) {
            addCriterion("auto_pay <", value, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayLessThanOrEqualTo(Boolean value) {
            addCriterion("auto_pay <=", value, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayIn(List<Boolean> values) {
            addCriterion("auto_pay in", values, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayNotIn(List<Boolean> values) {
            addCriterion("auto_pay not in", values, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayBetween(Boolean value1, Boolean value2) {
            addCriterion("auto_pay between", value1, value2, "autoPay");
            return (Criteria) this;
        }

        public Criteria andAutoPayNotBetween(Boolean value1, Boolean value2) {
            addCriterion("auto_pay not between", value1, value2, "autoPay");
            return (Criteria) this;
        }

        public Criteria andIsLockedIsNull() {
            addCriterion("is_locked is null");
            return (Criteria) this;
        }

        public Criteria andIsLockedIsNotNull() {
            addCriterion("is_locked is not null");
            return (Criteria) this;
        }

        public Criteria andIsLockedEqualTo(Boolean value) {
            addCriterion("is_locked =", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedNotEqualTo(Boolean value) {
            addCriterion("is_locked <>", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedGreaterThan(Boolean value) {
            addCriterion("is_locked >", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_locked >=", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedLessThan(Boolean value) {
            addCriterion("is_locked <", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedLessThanOrEqualTo(Boolean value) {
            addCriterion("is_locked <=", value, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedIn(List<Boolean> values) {
            addCriterion("is_locked in", values, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedNotIn(List<Boolean> values) {
            addCriterion("is_locked not in", values, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedBetween(Boolean value1, Boolean value2) {
            addCriterion("is_locked between", value1, value2, "isLocked");
            return (Criteria) this;
        }

        public Criteria andIsLockedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_locked not between", value1, value2, "isLocked");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeIsNull() {
            addCriterion("admission_type is null");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeIsNotNull() {
            addCriterion("admission_type is not null");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeEqualTo(Integer value) {
            addCriterion("admission_type =", value, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeNotEqualTo(Integer value) {
            addCriterion("admission_type <>", value, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeGreaterThan(Integer value) {
            addCriterion("admission_type >", value, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("admission_type >=", value, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeLessThan(Integer value) {
            addCriterion("admission_type <", value, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeLessThanOrEqualTo(Integer value) {
            addCriterion("admission_type <=", value, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeIn(List<Integer> values) {
            addCriterion("admission_type in", values, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeNotIn(List<Integer> values) {
            addCriterion("admission_type not in", values, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeBetween(Integer value1, Integer value2) {
            addCriterion("admission_type between", value1, value2, "admissionType");
            return (Criteria) this;
        }

        public Criteria andAdmissionTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("admission_type not between", value1, value2, "admissionType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeIsNull() {
            addCriterion("apearance_type is null");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeIsNotNull() {
            addCriterion("apearance_type is not null");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeEqualTo(Integer value) {
            addCriterion("apearance_type =", value, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeNotEqualTo(Integer value) {
            addCriterion("apearance_type <>", value, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeGreaterThan(Integer value) {
            addCriterion("apearance_type >", value, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("apearance_type >=", value, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeLessThan(Integer value) {
            addCriterion("apearance_type <", value, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("apearance_type <=", value, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeIn(List<Integer> values) {
            addCriterion("apearance_type in", values, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeNotIn(List<Integer> values) {
            addCriterion("apearance_type not in", values, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeBetween(Integer value1, Integer value2) {
            addCriterion("apearance_type between", value1, value2, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andApearanceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("apearance_type not between", value1, value2, "apearanceType");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(String value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(String value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(String value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(String value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(String value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLike(String value) {
            addCriterion("order_id like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotLike(String value) {
            addCriterion("order_id not like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<String> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<String> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(String value1, String value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(String value1, String value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andIsOfflineIsNull() {
            addCriterion("is_offline is null");
            return (Criteria) this;
        }

        public Criteria andIsOfflineIsNotNull() {
            addCriterion("is_offline is not null");
            return (Criteria) this;
        }

        public Criteria andIsOfflineEqualTo(Boolean value) {
            addCriterion("is_offline =", value, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineNotEqualTo(Boolean value) {
            addCriterion("is_offline <>", value, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineGreaterThan(Boolean value) {
            addCriterion("is_offline >", value, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_offline >=", value, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineLessThan(Boolean value) {
            addCriterion("is_offline <", value, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineLessThanOrEqualTo(Boolean value) {
            addCriterion("is_offline <=", value, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineIn(List<Boolean> values) {
            addCriterion("is_offline in", values, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineNotIn(List<Boolean> values) {
            addCriterion("is_offline not in", values, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineBetween(Boolean value1, Boolean value2) {
            addCriterion("is_offline between", value1, value2, "isOffline");
            return (Criteria) this;
        }

        public Criteria andIsOfflineNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_offline not between", value1, value2, "isOffline");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdIsNull() {
            addCriterion("invoice_id is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdIsNotNull() {
            addCriterion("invoice_id is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdEqualTo(String value) {
            addCriterion("invoice_id =", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdNotEqualTo(String value) {
            addCriterion("invoice_id <>", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdGreaterThan(String value) {
            addCriterion("invoice_id >", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdGreaterThanOrEqualTo(String value) {
            addCriterion("invoice_id >=", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdLessThan(String value) {
            addCriterion("invoice_id <", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdLessThanOrEqualTo(String value) {
            addCriterion("invoice_id <=", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdLike(String value) {
            addCriterion("invoice_id like", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdNotLike(String value) {
            addCriterion("invoice_id not like", value, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdIn(List<String> values) {
            addCriterion("invoice_id in", values, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdNotIn(List<String> values) {
            addCriterion("invoice_id not in", values, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdBetween(String value1, String value2) {
            addCriterion("invoice_id between", value1, value2, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andInvoiceIdNotBetween(String value1, String value2) {
            addCriterion("invoice_id not between", value1, value2, "invoiceId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdIsNull() {
            addCriterion("watchhouse_id is null");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdIsNotNull() {
            addCriterion("watchhouse_id is not null");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdEqualTo(String value) {
            addCriterion("watchhouse_id =", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdNotEqualTo(String value) {
            addCriterion("watchhouse_id <>", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdGreaterThan(String value) {
            addCriterion("watchhouse_id >", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdGreaterThanOrEqualTo(String value) {
            addCriterion("watchhouse_id >=", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdLessThan(String value) {
            addCriterion("watchhouse_id <", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdLessThanOrEqualTo(String value) {
            addCriterion("watchhouse_id <=", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdLike(String value) {
            addCriterion("watchhouse_id like", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdNotLike(String value) {
            addCriterion("watchhouse_id not like", value, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdIn(List<String> values) {
            addCriterion("watchhouse_id in", values, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdNotIn(List<String> values) {
            addCriterion("watchhouse_id not in", values, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdBetween(String value1, String value2) {
            addCriterion("watchhouse_id between", value1, value2, "watchhouseId");
            return (Criteria) this;
        }

        public Criteria andWatchhouseIdNotBetween(String value1, String value2) {
            addCriterion("watchhouse_id not between", value1, value2, "watchhouseId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}